<?php

/**
 * Reclamo filter form.
 *
 * @package    reclamos
 * @subpackage filter
 * @author     Your name here
 */
class ReclamoFormFilter extends BaseReclamoFormFilter
{
  public function configure()
  {
    $this->unsetFields();

    $this->setWidget('sf_guard_user_id', new sfWidgetFormPropelChoice(array(
        'model' => 'sfGuardUser',
        'method' => 'getFullname'
      )));
    $this->setValidator('sf_guard_user_id', new sfValidatorPass());
    $this->getWidget('sf_guard_user_id')->setOption('renderer_class', 'mbWidgetFormChosenChoice');

    $this->setWidget('estado', new dcWidgetFormReferenceModelChoice(array(
        'model' => 'Estado0800',
        'add_empty' => true
      )));

    $this->setValidator('estado', new dcValidatorReferenceModelChoice(array(
        'model' => 'Estado0800', 'required'=> false
      )));

    $this->getWidget("estado")->setOption('renderer_class', 'mbWidgetFormChosenChoice');


    $this->widgetSchema->setLabel('cliente_id', 'Usuario');

    $this->setWidget('cliente_id', new pmWidgetFormPropelJQuerySearch(array('model' => 'Cliente',
        'column' => array('nombre', 'numero_cliente', 'dni'),
        'selected_label' => 'Seleccione un cliente',
        'search_label' => 'Buscar')));
    $this->getWidgetSchema()->setHelp('cliente_id',' La búsqueda puede realizarse por nombre, apellido o NIS');
//    $this->getWidget('cliente_id')->setOption($name, $value)
  }

  public function unsetFields()
  {
    unset(
      $this['updated_at'],
      $this['intervino_defensa_civil'],
      $this['intervino_distribuidora'],
      $this['horario_contacto'],
      $this['fecha_incidente'],
      $this['observacion'],
      $this['intervino_policia'],
      $this['intervino_distribuidor'],
      $this['descripcion'],
      $this['es_primera_instancia'],
      $this['horario_interrupcion_servicio'],
      $this['asunto'],
      $this['tipo_atencion'],
      $this['es0800'],
      $this['nro_reclamo']
    );
  }

  public function addEstadoColumnCriteria(Criteria $criteria, $field, $value)
  {
    if ($value)
    {
      $criteria->addAnd(ReclamoPeer::ESTADO, $value, Criteria::EQUAL);
    }

  }

}